package com;

import Untils.JDBCUntils;
import jdk.swing.interop.SwingInterOpUtils;

import java.sql.*;
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;

public class Test5 {
    public static void main(String[] args) {
        List<EmpDemo> list = Test5.getAll();//调用方法，获取了一个集合
        System.out.println(list);

    }

    public static List<EmpDemo> getAll() {//定义方法
        List<EmpDemo> list = new ArrayList<EmpDemo>();//创建一个集合用以存储从数据库获取的数据
        Connection conn = null;//将链接对象定义为null方法释放资源
        Statement stmt = null;//将sql执行对象定义为null方法释放资源
        ResultSet rs = null;//将获取的结果集合对象定义为null方法释放资源
        try {
            String sql = "select*from emp";//定义sql语句
            try {
             conn = JDBCUntils.getconnection();
             //获取数据链接对象
                stmt = conn.createStatement();//获取执行sql执行对象
                rs = stmt.executeQuery(sql);
                EmpDemo emp = null;
                while (rs.next()) {//读取下一行数据，使用死循环
                    int id = rs.getInt("id");
                    String ename = rs.getString("ename");
                    int job_id = rs.getInt("job_id");
                    int mgr = rs.getInt("mgr");
                    Date joindate = rs.getDate("joindate");
                    double salary = rs.getDouble("salary");
                    double bonus = rs.getDouble("bonus");
                    int dept_id = rs.getInt("dept_id");
                    emp = new EmpDemo();//
                    emp.setId(id);
                    emp.setEname(ename);
                    emp.setJob_id(job_id);
                    emp.setMgr(mgr);
                    emp.setJoindate(joindate);
                    emp.setSalary(salary);
                    emp.setBonus(bonus);
                    emp.setDept_id(dept_id);
                    list.add(emp);//将得到数据库数据封装成对象存入到集合中
                }
            } catch (Exception e) {
                e.printStackTrace();
            }

        } finally {
            JDBCUntils.close2(rs,stmt,conn);
        }


        return list;//返回集合
    }
}
